home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)tm.d64 / adbk delete.c (.txt) next >
Commodore BASIC  |  2007-02-04  |  6KB  |  187 lines

  1. 10 IFREPEAT=.THENRE=1:GOTO5000
  2. 11 PRINTCHR$(142)
  3. 15 PRINTVTAB$(23)TAB(7)"PRESS SPACE TO CONTINUE
  4. 20 [141]500
  5. 30 [141]2300
  6. 40 [153]:[153]"  DO YOU WISH TO REPEAT PROGRAM? (Y/N)";
  7. 50 [141]100
  8. 60 [139]C$[178]"Y"[137]30
  9. 70 [153]"LOAD"
  10. 80 [137]3910
  11. 100 [161]C$:[139]C$[179][177]""[167]100
  12. 110 [161]C$:[139]C$[178]""[167]110
  13. 120 [142]
  14. 150 [139][194](52)[171][194](50)[179]1[167][153]:[153]"DELAY COMING FOR MEMORY CLEANUP":[153]
  15. 160 [142]
  16. 200 [132]15,A,B$,C,D
  17. 210 [139](A[179]20)[176](A[178]50)[176](A[178]62)[167][142]
  18. 230 [137]3900
  19. 450 Z[178][181](W[173]256):Y[178]W[171](Z[172]256):[141]150
  20. 460 [152]15,"P"[199](104)[199](Y)[199](Z)[199](1)
  21. 470 [132]8,FI$(1),FI$(2),FI$(3),FI$(4),FI$(5),FI$(6),FI$(7),FI$(8),FI$(9)
  22. 480 [141]200:[139]X[178]70[167]X[178].:[137]460
  23. 490 [142]
  24. 500 [153]VTAB$(23)[163]7)"PRESS 1 FOR BULK DELETE"
  25. 510 [153]VTAB$(24)[163]7)"PRESS 2 FOR RECORD TEST";
  26. 520 [141]100
  27. 530 [139]C$[178]"1"[167][142]
  28. 540 [139]C$[179][177]"2"[137]520
  29. 550 [141]5500
  30. 560 [128]
  31. 2300 [153]"LOAD  * ADDRESS LIST DELETION OPTIONS * "
  32. 2310 [153]:[153]"DELETE NAMES STARTING FROM: (LETTER)":[153]
  33. 2320 [153]"DO NOT DELETE NAMES AFTER: (LETTER)":[153]
  34. 2330 [153]"OPENDELETE ALL NAMES WITH THESE CODES:"
  35. 2340 [153]:[153]"DELETE ALL NAMES WITHOUT THESE CODES:"
  36. 2350 [153]:[153]"DELETE ALL NAMES WITH THIS ZIP CODE:"
  37. 2360 [153]"(ALL OR ONLY FIRST PART)"
  38. 2370 [153]:[153]"DO NOT DELETE NAMES WITH THIS ZIP CODE:"
  39. 2380 [153]"(ALL OR ONLY FIRST PART)"
  40. 2390 [153]:[153]"MAIL CODE AND ZIP CODE OPTIONS ARE ONLY
  41. 2395 PRINT"AVAILABLE IF ALPHABET DELETION NOT USED.";
  42. 2400 OPEN1,0
  43. 2405 PRINTVTAB$(4)"[151]"
  44. 2407 INPUT#1,P1$:IFPEEK(214)<>4GOTO2405
  45. 2410 P1$=LEFT$(P1$,1):IFP1$=""GOTO2430
  46. 2415 PRINTVTAB$(5)
  47. 2420 PRINTVTAB$(6)
  48. 2422 INPUT#1,P2$:IFPEEK(214)<>6GOTO2420
  49. 2425 P2$=LEFT$(P2$,1):IFP2$=""THENP2$="?"
  50. 2427 PRINTVTAB$(7)P2$:GOTO2475
  51. 2430 PRINTVTAB$(8)
  52. 2435 INPUT#1,PY$:IFPEEK(214)<>8GOTO2430
  53. 2440 PRINTVTAB$(10)
  54. 2445 INPUT#1,PN$:IFPEEK(214)<>10GOTO2440
  55. 2450 PRINTVTAB$(13)
  56. 2455 INPUT#1,ZY$:IFPEEK(214)<>13GOTO2450
  57. 2460 PRINTVTAB$(16)
  58. 2465 INPUT#1,ZN$:IFPEEK(214)<>16GOTO2460
  59. 2475 PRINTVTAB$(21)"     PRESS F7[146] TO CORRECT ENTRIES    "
  60. 2476 PRINT"    PRESS SPACE TO BEGIN DELETION"
  61. 2477 PRINT"   ANY OTHER KEY WILL EXIT PROGRAM
  62. 2480 [160]1
  63. 2485 [141]100:[139]C$[178]"LET"[167][153]VTAB$(21)CL$CL$:[137]2400
  64. 2490 [139]C$[179][177]" "[167][142]
  65. 2495 [139]P1$[178]""[137]2510
  66. 2500 [129]HO[178]1[164]NUMBER:[139][198](P1$)[178][179][198](IN$(HO))[137]2504
  67. 2502 [130]:[153]VTAB$(20)"   NO ENTRIES IN THAT RANGE.":[142]
  68. 2504 X[178][198](P2$):[129]HOLD[178]HO[164]NU:[139][198](IN$(HO))[177]X[167]HO[178]NU:[130]:[137]2645
  69. 2506 IN$(HO)[178]"^"[170][201](IN$(HO),3)
  70. 2508 [130]:[137]2645
  71. 2510 [129]HOLD[178]1[164]NU:Z[178][195](IN$(HO))[171]3
  72. 2520 [129]X[178]1[164]Z:[139][202](IN$(HO),X,1)[178]"IF"[137]2524
  73. 2522 [130]:[130]HOLD:[137]2645
  74. 2524 X[178]X[170]1:[129]Y[178]X[164]Z:[139][202](IN$(HO),Y,1)[178]"RESTORE"[137]2528
  75. 2526 [130]
  76. 2528 FI$(6)[178][202](IN$(HO),X,Y[171]1):FI$(8)[178][202](IN$(HO),Y[170]1,Z)
  77. 2535 [139]P1[137]2600
  78. 2540 [139]ZN$[179][177]""[167][139]ZN$[178][200](FI$(6),[195](ZN$))[137]2620
  79. 2545 [139]ZY$[179][177][200](FI$(6),[195](ZY$))[137]2620
  80. 2550 [139]PY$[178]""[137]2575
  81. 2555 [139]FI$(8)[178]"?"[137]2620
  82. 2560 [129]X[178]1[164][195](PY$):[129]Y[178]1[164][195](FI$(8))
  83. 2565 [139][202](PY$,X,1)[178][202](FI$(8),Y,1)[137]2575
  84. 2570 [130]:[130]:[137]2620
  85. 2575 [139]PN$[178]""[176]FI$(8)[178]"?"[137]2600
  86. 2580 [129]X[178]1[164][195](PN$):[129]Y[178]1[164][195](FI$(8))
  87. 2585 [139][202](PN$,X,1)[178][202](FI$(8),Y,1)[137]2620
  88. 2590 [130]:[130]
  89. 2600 IN$(HO)[178]"^"[170][201](IN$(HO),3)
  90. 2620 [130]HOLD
  91. 2640 [153]VTAB$(20)"   NO FURTHER ENTRIES. "
  92. 2645 [137]3500
  93. 3500 [153]"LOAD"VTAB$(8)[163]2)"SORTINGCLOSEAND SAVING - PLEASE WAIT..."
  94. 3510 [158]49346,NU,IN$(1):[143] ULTRASORT
  95. 3520 Y[178]0:[129] X[178]NU[164]1[169][171]1:[139][195](IN$(X))[178]4[167]Y[178]Y[170]1:[130]
  96. 3525 [139]X[177].[167]X[178].:[130]
  97. 3530 [153]VTAB$(12)[163]10)"THERE ARE"NU[171]Y"RECORDS"
  98. 3550 [159]2,8,2,"@0:CLOSEINDEX,S,W"
  99. 3560 [141]200:[152]2,NUMBER:[141]200
  100. 3570 [129]X[178]1[164]NUMBER:[152]2,INDEX$(X):[130]:[141]200
  101. 3580 [160]2:[141]200
  102. 3600 [153]""VTAB$(20)[163]13)"PLEASE PROCEED":[142]
  103. 3900 [139][194](50150)[178]96[167]C[178][171]1
  104. 3910 [158]65511:[139]C[179][177][171]1[167][128]
  105. 3920 [153]"LOAD"VTAB$(10)A,"  "B$:[153]
  106. 3930 [153]"    DO YOU HAVE NEW ENTRIES TO SAVE?":[153]
  107. 3940 [153]"  IF SO, CORRECT DISK ERROR THEN PRESS":[153]
  108. 3950 [153][163]15)"SPACE BAR
  109. 3960 GOSUB100
  110. 3970 IFC$<>" "THENC=.:GOTO3910
  111. 3980 OPEN15,8,15:GOSUB3500:C=.:GOTO3910
  112. 5000 PRINT"[147]"CHR$(142):POKE53280,3:POKE53281,1
  113. 5005 DIM VTAB$(25):VT$(1)="":FORX=2TO25:VT$(X)=VT$(X-1)+"":NEXT
  114. 5010 DIM INDEX$(720)
  115. 5015 CL$="                                       "
  116. 5020 PRINT"   * ADDRESS LIST DELETION PROGRAM *
  117. 5025 [153]:[153]"   THIS PROGRAM WILL RAPIDLY DELETE
  118. 5030 PRINT"   NAMES FROM THE 'ADDRESS LIST' PGM.
  119. 5035 [153]"   IT WILL DELETE AN ALPHABETIC RANGE
  120. 5040 PRINT"   OR IT WILL DELETE NAMES BY MAILING
  121. 5045 [153]"   CODE AND ZIP CODE.
  122. 5050 PRINT:PRINT"   IT IS POSSIBLE TO RETRIEVE DELETED
  123. 5055 [153]"   NAMES USING THE ^ SEARCH FUNCTION
  124. 5060 PRINT"   OF THE MAIN PROGRAM TO DISPLAY THE
  125. 5065 [153]"   NAMES AND THE F7 KEY TO REENTER
  126. 5070 PRINT"   THEM, BUT IT IS SUGGESTED YOU USE
  127. 5075 [153]"   A COPY OF THE ORIGINAL FILES WITH
  128. 5080 PRINT"   THIS DELETION PROGRAM.
  129. 5100 [153]:[153]"   THIS PROGRAM WILL ALSO TEST FOR AND
  130. 5105 PRINT"   DELETE 'POISONED' RECORDS THAT ARE
  131. 5110 [153]"   INCORRECTLY STORED OR OTHERWISE
  132. 5115 PRINT"   DAMAGED AND HALT PROGRAM WHEN CALLED.
  133. 5120 CL$[178]"                                       "
  134. 5195 [153]:[153]VTAB$(23)[163]11)"PLEASE WAIT...";
  135. 5200 [159]15,8,15,"I"
  136. 5210 [159]2,8,2,"0:CLOSEINDEX,S,R":[141]200
  137. 5220 [139]A[179][177]62[137]5250
  138. 5230 [160]2:NUMBER[178].:[137]10000:[143] WRONG DISK
  139. 5250 [132]2,NUMBER
  140. 5260 [129]X[178]1[164]NUMBER:[139]ST[137]5280
  141. 5270 [132]2,INDEX$(X):[130]
  142. 5280 [160]2
  143. 5300 [139][194](50150)[179][177]96[167][147]"CLOSE(ML)/NOTES/SORT",8,1
  144. 5310 [137]11
  145. 5500 [153]"LOAD  *POISONED RECORD DELETION PROGRAM*
  146. 5510 PRINT:PRINT"   THE PROGRAM TESTS EACH RECORD IN
  147. 5520 [153]"   ORDER.  IT WILL DISPLAY THE NAME
  148. 5530 PRINT"   CURRENTLY BEING TESTED.
  149. 5535 [153]:[153]"   IF IT FINDS A BAD RECORD AND ENDS
  150. 5540 PRINT"   THE PROGRAM WITH A RETURN TO
  151. 5550 [153]"   'READY', ENTER 'GOTO 6000' AND
  152. 5560 PRINT"   PRESS THE RETURN[146] KEY.  THE
  153. 5565 [153]"   RECORD CURRENTLY BEING TESTED
  154. 5570 PRINT"   WILL BE DELETED.
  155. 5580 [153]:[153]"   IF THE PROGRAM JUST HANGS UP
  156. 5590 PRINT"   RATHER THAN ENDING, PRESS THE
  157. 5600 [153]"   RUN/STOPWAIT AND RESTOREWAIT KEYS
  158. 5610 PRINT"   TOGETHER AND THEN PROCEED WITH
  159. 5620 [153]"   'GOTO 6000'.
  160. 5650 PRINTVTAB$(23)TAB(7)"PRESS SPACE TO CONTINUE
  161. 5660 [141]100
  162. 5670 [153]"LOAD"
  163. 5900 [159]8,8,8,"0:CLOSEFILES"
  164. 5910 [129]HO[178]1[164]NU:[139][195](IN$(HO))[178]4[167][130]:[137]5970
  165. 5920 [129]X[178]1[164][195](IN$(HO)):[139][202](IN$(HO),X,1)[179][177]"IF"[167][130]
  166. 5930 [153]"TESTING #"HO" - "[200](IN$(HO),X[171]1)
  167. 5950 W[178][197]([201](IN$(HO),3)):[141]450:[141]200
  168. 5960 [130]HO
  169. 5970 [160]8
  170. 5980 [153]:[153]"TEST SEARCH COMPLETED"
  171. 5990 [142]
  172. 6000 [160]8:[139]HO[178]0[167][153]"NO RECORD TO DELETE SPECIFIED":[128]
  173. 6010 [129]X[178]1[164][195](IN$(HO)):[139][202](IN$(HO),X,1)[179][177]"IF"[167][130]
  174. 6020 [153]"LOAD"VTAB$(8)" DELETING "[200](IN$(HO),X[171]1)" - PLEASE WAIT..."
  175. 6030 IN$(HO)[178]"^"[170][201](IN$(HO),3)
  176. 6040 [141]3510
  177. 6050 [153]:[153]"DELETION COMPLETED AND SAVED TO DISK":[153]
  178. 6060 [153]"RERUN PROGRAM TO DELETE FURTHER FILES
  179. 6070 END
  180. 10000 PRINT"[147]"VTAB$(10)"  PLACE THE DISK WITH THE ADDRESS LIST  "
  181. 10010 PRINT" FILES IN THE DISK DRIVE BEFORE RUNNING "
  182. 10020 END
  183. 20000 ** NAME DELETION PROGRAM **
  184. 20010 ** BY FRANK VAN DEVENTER **
  185. 20020 FOR USE WITH 'ADDRESS BOOK'
  186. 20030 [VERS 12/16/84]
  187.